import { defineAsyncComponent } from 'vue';

const components =import.meta.glob('@/components/**/*.vue');

export default {
  install(app) {
    // 创建一个包含所有组件的 Promise 数组
    const componentPromises = Object.entries(components).map(async ([path, importComponent]) => {
      // 动态导入组件
      const module = await importComponent();
      // 提取组件名称
      const name = path.split('/').pop().replace('.vue', '');
      // 注册组件
      app.component(name, module.default);
    });

    // 等待所有组件注册完成
    Promise.all(componentPromises).then(() => {
      console.log('All components registered globally.');
    });
  }
};
